package com.cloud.generate;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.cloud.generate.enums.SeniorityEnum;

/**
 * <p>
 * Mysql代码生成器
 * </p>
 */
public class MysqlGenerator {

    /**
     * MySQL generator
     *
     * @param author          作者
     * @param seniority       获取路径形式
     * @param url             数据库连接地址
     * @param username        数据库用户名
     * @param password        数据库密码
     * @param moduleName      模块名 如：cloud-system
     * @param packageLocation 路径包路径 如：com.cloud.system.project
     * @param packagePrefix   路径包前缀 不填则为不分包 效果 如：输入sys -> project.sys/mapper.sys
     * @param tablePrefix     表前缀 输入前缀则自动去掉表名前缀 如：sys_
     * @param tableName       表名 如：sys_user
     * @return
     */
    public void generator(String author, SeniorityEnum seniority, String url, String username, String password,
                          String moduleName, String packageLocation, String packagePrefix, String tablePrefix, String... tableName) {
        // 代码生成器
        AutoGenerator mpg = new SuperGenerator().getAutoGenerator(author, seniority, url, username, password, moduleName, packageLocation, packagePrefix, tablePrefix, tableName);
        mpg.execute();
        if (tableName == null) {
            System.err.println(" Generator Success !");
        } else {
            for (int i = 0; i < tableName.length; i++) {
                System.err.println(" TableName【 " + tableName[i] + " 】" + "Generator Success !");
            }
        }
    }


}
